<template>
    <div id="proxy">
        <!-- 输入框获取 WorkorderTaskReplenish1 -->
        <label for="templateInput">模板:</label>
        <input id="templateInput" v-model="templateName" placeholder="请输入模板名称" />
        <!-- 输入框获取 sourceIds 值 -->
        <label for="sourceInput">Source ID:</label>
        <input id="sourceInput" v-model="sourceId" placeholder="请输入 Source ID" />
        <!-- 按钮触发打印报告 -->
        <button @click="proxyPrint">打印报告</button>
    </div>
</template>
<script setup>
import { ref } from 'vue'

// 输入框数据绑定
const templateName = ref('WorkOrder.cpt') // 默认值
const sourceId = ref(['1d857fe8a820a8a40785ff8d55f81923', '4d97d1422d63399972b149476709fb93']) // 默认值

// 定义打印逻辑函数
function proxyPrint() {
    // 每次点击打印时，更新 data 对象
    // const loop = `${JSON.stringify(sourceId.value).replace('[', '').replace(']', '')}`;
    const data = {
        reportlets: [
            {
                reportlet: templateName.value,
                search: `where id in ("${sourceId.value}")`,
                // search: `where id in ("${loop})"`,
                sourceIds: sourceId.value,
            },
        ],
    }

    const paramLoop = []
    let num = 0
    for (const item of sourceId.value) {
        num++
        paramLoop.push({
            reportlet: templateName.value,
            search: item,
            sourceIds: sourceId.value,
            pageType: num
        })
    }

    const printurl = '/webroot/decision/view/report'
    const config = {
        printUrl: printurl,
        isPopUp: false, // 是否弹出设置窗口
        data: {
            // reportlets: data.reportlets, // 使用最新的模板列表
            reportlets: paramLoop, // 使用最新的模板列表
            fine_digital_signature: '', // 数字签证
        },
        printType: 0, // 打印类型
        ieQuietPrint: true, // IE静默打印
        // printerName: 'Microsoft Print to PDF', // 打印机名
        pageType: 0, // 打印页码类型
        copy: 1, // 打印份数
    }

    // 调用 FR.doURLPrint 打印
    if (typeof window.FR !== 'undefined' && typeof window.FR.doURLPrint === 'function') {
        window.FR.doURLPrint(config)
    } else {
        console.error('FR.doURLPrint 函数未定义')
    }
}
</script>
<style scoped>
#proxy {
    padding: 10px;
}

label {
    display: block;
    margin-top: 10px;
}

input {
    display: block;
    margin-bottom: 10px;
    padding: 5px;
    width: 300px;
}

button {
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: #0056b3;
}
</style>